package com.api.manage.pojo.system;

import com.api.manage.base.PageBean;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 一个分店 只能有一种系统
 * </p>
 *
 * @author 腾木
 * @since 2023-11-17
 */
@Data
@NoArgsConstructor
@ApiModel(value="企业系统对象", description="一个分店 只能有一种系统")
public class SystemLevelBranchBean extends PageBean implements Serializable {
    private static final long serialVersionUID=1009656345344L;
    @ApiModelProperty(value = "企业系统")
    private Long systemLevelBranchId;

    @ApiModelProperty(value = "企业")
    private Long sysBranchOfficeId;

    @ApiModelProperty(value = "系统ID")
    private Long systemLevelId;

    @ApiModelProperty(value = "系统等级ID")
    private Long systemLevelTypeId;

    @ApiModelProperty(value = "系统名称")
    private String typeName;

    @ApiModelProperty(value = "编码")
    private String sysCode;

    @ApiModelProperty(value = "说明")
    private String msg;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ApiModelProperty(value = "缴费模式:1终身价 2年费")
    private Integer priceUnit;

    @ApiModelProperty(value = "版本")
    private String theVersion;

    @ApiModelProperty(value = "状态")
    private Integer state;

    @ApiModelProperty(value = "缴费日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonDeserialize(using = LocalDateDeserializer.class)
    @JsonSerialize(using = LocalDateSerializer.class)
    private LocalDate jfDate;

    @ApiModelProperty(value = "最近缴费日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime jfLastTime;
}